package com.itheima.controller;

import com.itheima.entity.Account;
import com.itheima.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

@Controller
@Scope("prototype")  // 默认还是单例的singleton  prototype(极少，几乎不用)是多例，每次get都是新的
public class AccountController {
    // 依赖（IOC）注入
    // 把IOC容器中 AccountService接口类型的Bean，注入进来
    // 此时容器中，有几个这个接口类型的对象？有2个，不能用类型直接匹配
    //@Autowired  // Autowired只能按类型匹配，故此时是无法匹配的,不需要当前类提供Setter方法的，肯定反射实现的
    //@Qualifier("as2") // 这个注解，仅限于一个接口，有多个对象时，配合Autowired使用，单独使用，无法注入
    @Resource(name = "as1")
    private AccountService accountService ;

    public void save(){
        accountService.save(new Account());
    }
}
